package com.sunday.common.easy.excel.vo;

import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.format.DateTimeFormat;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import com.alibaba.excel.converters.longconverter.LongStringConverter;
import com.sunday.common.core.gson.GsonUtils;
import lombok.Data;

import java.io.Serializable;
import java.time.LocalDateTime;

@Data
public class DownloadBlacklistLibraryResVO implements Serializable {

    /**
     * 主键
     * 特别注意 如果是数字类型，在execl中展示看不到实际数字，建议转换成 String，其中所有的类型都有转换器，请看源码
     */
    @ExcelProperty(value = "主键", index = 0, converter = LongStringConverter.class)
    private Long id;

    /**
     * 库名称
     */
    @ExcelProperty(value = "名称", index = 1)
    private String name;

    /**
     * 创建时间
     */
    @ColumnWidth(50)
    @DateTimeFormat("yyyy年MM月dd日HH时mm分ss秒")
    @ExcelProperty(value = "创建时间", index = 2)
    private LocalDateTime createTime;

    /**
     * 最后修改时间
     *
     * @ExcelIgnore 忽略这个字段
     */
    @ExcelIgnore
    private LocalDateTime updateTime;

    @Override
    public String toString() {
        return GsonUtils.DEFAULT.toJson(this);
    }

}
